home *** CD-ROM | disk | FTP | other *** search
- /*
-
-
- File: LMgrCall.h
-
- By: Rich Kubota DTS
- Purpose: Header file which contains the Universal Proc Ptr declarations for
- making calls to the LAP Manager routines. Note that to get the address of the
- LAP Manager hook, use the accessor function - LMGetATalkHk2() as defined
- in LowMem.h. This header file deals only with those LAP Manager calls that
- can be expected to be made from a high level - like LGetATalkInfo. In contrast,
- there is no definition for LRdDispatch, since that call is made by ADEV's,
- in general.
-
- Date: 2/6/94
-
- */
-
- #ifndef __LMGRCALL__
- #define __LMGRCALL__
-
- #include <AppleTalk.h>
- #ifdef FORPOWERPC
- #include <MixedMode.h>
- #endif
-
- enum {
- LGetATalkInfo = 9, // Get AppleTalk info selector
- L802Attach = 21, // Attach 802.2 protocol handler selector
- L802Detach = 22, // Detach 802.2 handler selector
- LGetAEQ = 25 // Get pointer to AppleTalk Transition Queue header
- };
-
-
- typedef long (*LMGetATalkInfoProcPtr)(long theSelector);
- typedef long (*LM802DetachProcPtr)(long theSelector, Ptr ProtSpecPtr, long enetRefNum);
- typedef long (*LMGetAEQProcPtr)(long theSelector);
-
- #if USESROUTINEDESCRIPTORS
- typedef long (*LM802AttachProcPtr)(long theSelector, MPPProtocolHandlerUPP ProtHandlerPtr, Ptr ProtSpecPtr, long enetRefNum);
- #else
- typedef long (*LM802AttachProcPtr)(long theSelector, ProcPtr ProtHandlerPtr, Ptr ProtSpecPtr, long enetRefNum);
- #endif
-
- #if USESROUTINEDESCRIPTORS
- enum {
- uppLMGetAtalkInfoProcInfo = kRegisterBased
- |RESULT_SIZE(SIZE_CODE(sizeof(long)))
- |REGISTER_RESULT_LOCATION(kRegisterD1)
- |REGISTER_ROUTINE_PARAMETER(1,kRegisterD0,kFourByteCode),
- uppLM802AttachProcInfo = kRegisterBased
- |RESULT_SIZE(SIZE_CODE(sizeof(long)))
- |REGISTER_RESULT_LOCATION(kRegisterD0)
- |REGISTER_ROUTINE_PARAMETER(1,kRegisterD0,kFourByteCode)
- |REGISTER_ROUTINE_PARAMETER(2,kRegisterA0,kFourByteCode)
- |REGISTER_ROUTINE_PARAMETER(3,kRegisterA1,kFourByteCode)
- |REGISTER_ROUTINE_PARAMETER(4,kRegisterD2,kFourByteCode),
- uppLM802DetachProcInfo = kRegisterBased
- |RESULT_SIZE(SIZE_CODE(sizeof(long)))
- |REGISTER_RESULT_LOCATION(kRegisterD0)
- |REGISTER_ROUTINE_PARAMETER(1,kRegisterD0,kFourByteCode)
- |REGISTER_ROUTINE_PARAMETER(2,kRegisterA1,kFourByteCode)
- |REGISTER_ROUTINE_PARAMETER(3,kRegisterD2,kFourByteCode),
- uppLMGetAEQProcInfo = kRegisterBased
- |RESULT_SIZE(SIZE_CODE(sizeof(long)))
- |REGISTER_RESULT_LOCATION(kRegisterA1)
- |REGISTER_ROUTINE_PARAMETER(1,kRegisterD0,kFourByteCode)
- };
- #endif
-
- #if USESROUTINEDESCRIPTORS
- typedef UniversalProcPtr LMGetATalkInfoUPP;
-
- #define CallLMGetATalkInfoProc(userRoutine, theSelector) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppLMGetAtalkInfoProcInfo, (theSelector))
- #define NewLMGetATalkInfoProc(userRoutine) \
- (LMGetATalkInfoUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppLMGetAtalkInfoProcInfo, GetCurrentISA())
-
- typedef UniversalProcPtr LM802AttachUPP;
-
- #define CallLM802AttachProc(userRoutine, theSelector, ProtHandlerPtr, ProtSpecPtr, enetRefNum) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppLM802AttachProcInfo, (theSelector), (ProtHandlerPtr), (ProtSpecPtr), (enetRefNum))
- #define NewLM802AttachProc(userRoutine) \
- (LM802AttachUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppLM802AttachProcInfo, GetCurrentISA())
-
- typedef UniversalProcPtr LM802DetachUPP;
-
- #define CallLM802DetachProc(userRoutine, theSelector, ProtSpecPtr, enetRefNum) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppLM802DetachProcInfo, (theSelector), (ProtSpecPtr), (enetRefNum))
- #define NewLM802DetachProc(userRoutine) \
- (LM802DetachUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppLM802DetachProcInfo, GetCurrentISA())
-
- typedef UniversalProcPtr LMGetAEQUPP;
-
- #define CallLMGetAEQProc(userRoutine, theSelector) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppLMGetAtalkInfoProcInfo, (theSelector))
- #define NewLMGetAEQProc(userRoutine) \
- (LMGetAEQUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppLMGetAEQProcInfo, GetCurrentISA())
-
- #else
- typedef LMGetATalkInfoProcPtr LMGetATalkInfoUPP;
-
- #define CallLMGetATalkInfoProc(userRoutine, theSelector) \
- (*(userRoutine))((theSelector))
- #define NewLMGetATalkInfoProc(userRoutine) \
- (LMGetATalkInfoUPP)(userRoutine)
-
- typedef LM802AttachProcPtr LM802AttachUPP;
-
- #define CallLM802AttachProc(userRoutine, theSelector, ProtHandlerPtr, ProtSpecPtr, enetRefNum) \
- (*(userRoutine))((theSelector), (ProtHandlerPtr), (ProtSpecPtr), (enetRefNum))
- #define NewLM802AttachProc(userRoutine) \
- (LM802AttachUPP)(userRoutine)
-
- typedef LM802DetachProcPtr LM802DetachUPP;
-
- #define CallLM802DetachProc(userRoutine, theSelector, ProtSpecPtr, enetRefNum) \
- (*(userRoutine))((theSelector), (ProtSpecPtr), (enetRefNum))
- #define NewLM802DetachProc(userRoutine) \
- (LM802DetachUPP)(userRoutine)
-
- typedef LMGetAEQProcPtr LMGetAEQUPP;
-
- #define CallLMGetAEQProc(userRoutine, theSelector) \
- (*(userRoutine))((theSelector))
- #define NewLMGetAEQProc(userRoutine) \
- (LMGetAEQUPP)(userRoutine)
-
- #endif
-
- /* 'atlk' resource ID's of Apple supplied driver software. */
- #define LTalk 0
- #define ETalkPh1 2
- #define TTalkPh2 5
- #define ETalkPh2 10
-
- #endif